home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 001 / script.arc / SCRIPT.BAS (.txt) next >
Encoding:
GW-BASIC  |  1980-01-04  |  5.4 KB  |  261 lines

  1. 1000  ' SCRIPT.BAS - Written by Mark Herring.
  2. 1010  CLEAR 5000:DEFINT A-Z
  3. 1020  DEF FNN$(X)=RIGHT$(STR$(X),LEN(STR$(X))-1)
  4. 1030  DIM EN(10),BBS$(10),NF$(10),NL$(10),PW$(10),NF(10)
  5. 1040  DIM AC$(10,10),A$(10,10),FS$(10,10),DC$(10,10)
  6. 1050  Q$=CHR$(34)
  7. 1060  OPEN "R",1,"PROCOMM.DIR",60
  8. 1070  FIELD 1,30 AS D$,30 AS N$
  9. 1080  COLOR 7,0
  10. 1090  CLS
  11. 1100  COLOR 0,7
  12. 1110  PRINT CHR$(201);STRING$(22,205);CHR$(187)
  13. 1120  PRINT CHR$(186);" Procomm Scriptwriter ";CHR$(186)
  14. 1130  PRINT CHR$(186);"     by Sparkware     ";CHR$(186)
  15. 1140  PRINT CHR$(200);STRING$(22,205);CHR$(188)
  16. 1150  COLOR 7,0
  17. 1160  FOR I=1 TO 10
  18. 1170  LOCATE 9+I,1
  19. 1180  PRINT STRING$(80,32);
  20. 1190  LOCATE 9+I,1
  21. 1200  PRINT "CALL directory entry number? ";
  22. 1210  LINE INPUT C$
  23. 1220  EN=VAL(C$)
  24. 1230  IF EN<1 OR EN>200 THEN I=10:GOTO 1330
  25. 1240  GET 1,EN+2
  26. 1250  BBS$=LEFT$(N$,INSTR(N$,CHR$(0)))
  27. 1260  IF BBS$="" THEN 1170
  28. 1270  IF ASC(BBS$)=46 THEN 1170
  29. 1280  LOCATE I+9,40
  30. 1290  PRINT BBS$;
  31. 1300  NB=NB+1
  32. 1310  EN(NB)=EN
  33. 1320  BBS$(NB)=BBS$
  34. 1330  NEXT I
  35. 1340  CLOSE 1
  36. 1350  IF NB=0 THEN 3440
  37. 1360  FOR I=1 TO NB
  38. 1370  COLOR 7,0
  39. 1380  CLS
  40. 1390  COLOR 0,7
  41. 1400  PRINT CHR$(201);STRING$(22,205);CHR$(187)
  42. 1410  PRINT CHR$(186);" Procomm Scriptwriter ";CHR$(186)
  43. 1420  PRINT CHR$(186);"     by Sparkware     ";CHR$(186)
  44. 1430  PRINT CHR$(200);STRING$(22,205);CHR$(188)
  45. 1440  COLOR 7,0
  46. 1450  LOCATE 1,30
  47. 1460  PRINT "BBS: ";
  48. 1470  COLOR 0,7
  49. 1480  PRINT " ";BBS$(I);" ";
  50. 1490  COLOR 7,0
  51. 1500  LOCATE 2,30
  52. 1510  PRINT "Enter your FIRST name? ";TAB(55);
  53. 1520  LINE INPUT NF$(I)
  54. 1530  IF NF$(I)="" THEN 1500
  55. 1540  LOCATE 3,30
  56. 1550  PRINT "Enter your LAST name? ";TAB(55);
  57. 1560  LINE INPUT NL$(I)
  58. 1570  LOCATE 4,30
  59. 1580  PRINT "Enter your Password? ";TAB(55);
  60. 1590  LINE INPUT PW$(I)
  61. 1600  IF PW$(I)="" THEN 1570
  62. 1610  LOCATE 7,1
  63. 1620  PRINT "Please enter information below.   To stop, press the ";
  64. 1630  COLOR 0,7
  65. 1640  PRINT " RETURN ";
  66. 1650  COLOR 7,0
  67. 1660  PRINT " key."
  68. 1670  LOCATE 9,1
  69. 1680  PRINT STRING$(80,196);
  70. 1690  LOCATE 10,1
  71. 1700  COLOR 0,7
  72. 1710  PRINT " ACTION (U/D) ";
  73. 1720  LOCATE 10,17
  74. 1730  PRINT " FILE AREA ";
  75. 1740  LOCATE 10,30
  76. 1750  PRINT "  FILESPEC  ";
  77. 1760  LOCATE 10,44
  78. 1770  PRINT STRING$(13,32);"DESCRIPTION";STRING$(13,32);
  79. 1780  COLOR 7,0
  80. 1790  LOCATE 11,1
  81. 1800  PRINT STRING$(80,196);
  82. 1810  NF(I)=0
  83. 1820  LOCATE NF(I)+13,1,0
  84. 1830  PRINT STRING$(80,32);
  85. 1840  LOCATE NF(I)+13,7,1
  86. 1850  SOUND 5000,1
  87. 1860  AC$=INPUT$(1)
  88. 1870  IF AC$=CHR$(13) THEN 2140
  89. 1880  IF ASC(AC$)>96 THEN AC$=CHR$(ASC(AC$)-32)
  90. 1890  IF INSTR("UD",AC$)=0 THEN 1840
  91. 1900  PRINT AC$;
  92. 1910  LOCATE NF(I)+13,22,1
  93. 1920  SOUND 5000,1
  94. 1930  LINE INPUT A$
  95. 1940  IF VAL(A$)<1 THEN 1820
  96. 1950  LOCATE NF(I)+13,30,1
  97. 1960  SOUND 5000,1
  98. 1970  LINE INPUT FS$
  99. 1980  IF FS$="" THEN 1820
  100. 1990  C$=FS$:GOSUB 10000:FS$=C$
  101. 2000  IF AC$="D" THEN 2040
  102. 2010  LOCATE NF(I)+13,44,1
  103. 2020  LINE INPUT DC$
  104. 2030  IF DC$="" THEN 1820
  105. 2040  NF(I)=NF(I)+1
  106. 2050  AC$(I,NF(I))=AC$
  107. 2060  A$(I,NF(I))=A$
  108. 2070  FS$(I,NF(I))=FS$
  109. 2080  DC$(I,NF(I))=DC$
  110. 2090  IF AC$="U" THEN 2130
  111. 2100  IF INSTR(FS$,".ARC")>0 THEN ARC=1
  112. 2110  IF INSTR(FS$,".LBR")>0 THEN ARC=1
  113. 2120  IF INSTR(FS$,".LQR")>0 THEN ARC=1
  114. 2130  IF NF(I)<10 THEN 1820
  115. 2140  NEXT I
  116. 2150  OPEN "O",1,"TRANSFER.CMD"
  117. 2160  PRINT#1,"/*************************************************************/"
  118. 2170  PRINT#1,"/*                                                           */"
  119. 2180  PRINT#1,"/*              Automatic downloading for FIDOs              */"
  120. 2190  PRINT#1,"/*                                                           */"
  121. 2200  PRINT#1,"/*************************************************************/"
  122. 2210  PRINT#1,"/"
  123. 2220  PRINT#1,"/ Date created: ";DATE$
  124. 2230  PRINT#1,"/"
  125. 2240  PRINT#1,"/ Boards called:"
  126. 2250  PRINT#1,"/"
  127. 2260  FOR I=1 TO NB
  128. 2270  IF NF(I)>0 THEN PRINT#1,"/ ";BBS$(I)
  129. 2280  NEXT I
  130. 2290  PRINT#1,"/"
  131. 2300  PRINT#1,"%LO";Q$;"PROCOMM.LOG";Q$
  132. 2310  PRINT#1,"%E7"
  133. 2320  PRINT#1,"%XN"
  134. 2330  FOR I=1 TO NB
  135. 2340  IF NF(I)=0 THEN 2710
  136. 2350  PRINT#1,"%C";Q$;FNN$(EN(I));Q$
  137. 2360  FOR J=1 TO 4
  138. 2370  PRINT#1,"%T";Q$;"!";Q$
  139. 2380  PRINT#1,"%W";Q$;"1";Q$
  140. 2390  NEXT J
  141. 2400  PRINT#1,"%T";Q$;"!";Q$
  142. 2410  PRINT#1,"%I";Q$;"Your FIRST name:";Q$
  143. 2420  PRINT#1,"%T";Q$;NF$(I);"!";Q$
  144. 2430  PRINT#1,"%I";Q$;"Your  LAST name:";Q$
  145. 2440  PRINT#1,"%T";Q$;NL$(I);"!";Q$
  146. 2450  PRINT#1,"%I";Q$;"right? (y,n)";Q$
  147. 2460  PRINT#1,"%T";Q$;"Y";Q$
  148. 2470  PRINT#1,"%I";Q$;"Password:";Q$
  149. 2480  PRINT#1,"%T";Q$;PW$(I);"!";Q$
  150. 2490  FOR J=1 TO 3
  151. 2500  PRINT#1,"%I";Q$;"More ?";Q$
  152. 2510  PRINT#1,"%T";Q$;"!";Q$
  153. 2520  NEXT J
  154. 2530  PRINT#1,"%I";Q$;"Command:";Q$
  155. 2540  PRINT#1,"%T";Q$;"F!";Q$
  156. 2550  FOR J=1 TO NF(I)
  157. 2560  PRINT#1,"%I";Q$;"Command:";Q$
  158. 2570  PRINT#1,"%T";Q$;"A";A$(I,J);"!";Q$
  159. 2580  PRINT#1,"%I";Q$;"Command:";Q$
  160. 2590  IF AC$(I,J)="D" THEN 2650
  161. 2600  PRINT#1,"%T";Q$;"UX ";FS$(I,J);"!";Q$
  162. 2610  PRINT#1,"%XS";Q$;FS$(I,J);Q$
  163. 2620  PRINT#1,"%I";Q$;"describe ";FS$(I,J);Q$
  164. 2630  PRINT#1,"%T";Q$;DC$(I,J);"!";Q$
  165. 2640  GOTO 2670
  166. 2650  PRINT#1,"%T";Q$;"DX ";FS$(I,J);"!";Q$
  167. 2660  PRINT#1,"%XR";Q$;FS$(I,J);Q$
  168. 2670  NEXT J
  169. 2680  PRINT#1,"%I";Q$;"Command:";Q$
  170. 2690  PRINT#1,"%T";Q$;"GN!";Q$
  171. 2700  IF I<NB THEN PRINT#1,"%W";Q$;"10";Q$
  172. 2710  NEXT I
  173. 2720  PRINT#1,"%Q"
  174. 2730  CLOSE 1
  175. 2740  IF ARC=0 THEN 3030
  176. 2750  OPEN "O",1,"UNPACK.BAT"
  177. 2760  FOR I=1 TO NB
  178. 2770  IF NF(I)=0 THEN 3060
  179. 2780  FOR J=1 TO NF(I)
  180. 2790  IN=INSTR(FS$(I,J),".ARC")
  181. 2800  IF IN>0 THEN 2850
  182. 2810  IN=INSTR(FS$(I,J),".LBR")
  183. 2820  IF IN>0 THEN 2850
  184. 2830  IN=INSTR(FS$(I,J),".LQR")
  185. 2840  IF IN=0 THEN 3020
  186. 2850  DIR$=LEFT$(FS$(I,J),IN-1)
  187. 2860  IF DIR$="" THEN 3020
  188. 2870  PRINT#1,"MKDIR ";DIR$
  189. 2880  PRINT#1,"COPY ";FS$(I,J);" .\";DIR$
  190. 2890  PRINT#1,"DEL ";FS$(I,J)
  191. 2900  PRINT#1,"CHDIR ";DIR$
  192. 2910  IF INSTR(FS$(I,J),".ARC")>0 THEN 2960
  193. 2920  IF INSTR(FS$(I,J),".LBR")>0 THEN 2940
  194. 2930  PRINT#1,"UNSQ ";FS$(I,J)
  195. 2940  PRINT#1,"LU -A ";DIR$
  196. 2950  GOTO 2970
  197. 2960  PRINT#1,"ARC XW ";DIR$
  198. 2970  PRINT#1,"DEL ";FS$(I,J)
  199. 2980  IF INSTR(FS$(I,J),".LQR")>0 THEN PRINT#1,"DEL ";DIR$;".LBR"
  200. 2990  PRINT#1,"CHDIR .."
  201. 3000  NEXT J
  202. 3010  NEXT I
  203. 3020  CLOSE 1
  204. 3030  FOR I=1 TO 4
  205. 3040  LOCATE I,30,0
  206. 3050  PRINT STRING$(50,32);
  207. 3060  NEXT I
  208. 3070  FOR I=7 TO 23
  209. 3080  LOCATE I,1,0
  210. 3090  PRINT STRING$(80,32);
  211. 3100  NEXT I
  212. 3110  LOCATE 9,1
  213. 3120  PRINT "The current time is ";TIME$
  214. 3130  LOCATE 12,1,1
  215. 3140  COLOR 0,7
  216. 3150  PRINT " ENTER ";
  217. 3160  COLOR 7,0
  218. 3170  PRINT " the current time: ";
  219. 3180  LINE INPUT T$
  220. 3190  IF T$<>"" THEN TIME$=T$
  221. 3200  LOCATE 15,1,1
  222. 3210  PRINT "Please enter the desired start time? ";
  223. 3220  LINE INPUT T$
  224. 3230  IF T$="" THEN 3030
  225. 3240  FOR I=9 TO 15 STEP 3
  226. 3250  LOCATE I,1,0
  227. 3260  PRINT STRING$(80,32);
  228. 3270  NEXT I
  229. 3280  LOCATE 2,30,0
  230. 3290  PRINT "Current time is now:";
  231. 3300  LOCATE 3,30
  232. 3310  PRINT "Procomm will automatically start at ";T$;".";
  233. 3320  LOCATE 4,30
  234. 3330  PRINT "Press the ";
  235. 3340  COLOR 0,7
  236. 3350  PRINT " ESC ";
  237. 3360  COLOR 7,0
  238. 3370  PRINT " key to ABORT.";
  239. 3380  LOCATE 2,51,0
  240. 3390  PRINT TIME$;
  241. 3400  IF INKEY$=CHR$(27) THEN 3440
  242. 3410  IF LEFT$(TIME$,LEN(T$))<>T$ THEN 3380
  243. 3420  CLS
  244. 3430  SHELL "PROCOMM /FTRANSFER /S"
  245. 3440  CLS
  246. 3450  IF ARC=1 THEN SHELL "UNPACK"
  247. 3460  CLS
  248. 3470  SHELL "DIR *."
  249. 3480  SYSTEM
  250. 3490  END
  251. 3500  '
  252. 10000  IF C$="" THEN 10070
  253. 10010  FOR I0=1 TO LEN(C$)
  254. 10020  A=ASC(MID$(C$,I0,1))
  255. 10030  IF A<97 OR A>122 THEN 10060
  256. 10040  A=A-32
  257. 10050  MID$(C$,I0,1)=CHR$(A)
  258. 10060  NEXT I0
  259. 10070  RETURN
  260. 10080  '
  261.